/*
 * Copyright (c) 2005 Mike Bridge <mike@bridgecanada.com>
 * 
 * Permission is hereby granted, free of charge, to any 
 * person obtaining a copy of this software and associated 
 * documentation files (the "Software"), to deal in the 
 * Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, 
 * distribute, sublicense, and/or sell copies of the 
 * Software, and to permit persons to whom the Software 
 * is furnished to do so, subject to the following 
 * conditions:
 *
 * The above copyright notice and this permission notice 
 * shall be included in all copies or substantial portions 
 * of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 
 * ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
 * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT 
 * SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR 
 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 
 * OR OTHER DEALINGS IN THE SOFTWARE.
 */

using System;

using DotNetOpenMail; 

using NUnit.Framework;
using log4net;

namespace DotNetOpenMailTests {

	[TestFixture]
	public class SmtpProxyTests {

		SmtpServer _smtpserver=null;

		private static readonly ILog log = LogManager.GetLogger(typeof(SmtpProxyTests));

		public SmtpProxyTests() {
		}

		[SetUp]
		public void SetUp() 
		{
			_smtpserver=TestAddressHelper.GetSmtpServer();
		}
		[TearDown]
		public void TearDown() {}

		[Test]
		
		public void TestBasicSend() 
		{
			

			EmailMessage emailmessage=new EmailMessage();

			emailmessage.FromAddress=TestAddressHelper.GetFromAddress();
			emailmessage.AddToAddress(TestAddressHelper.GetToAddress());
			emailmessage.Subject="EmailMessageTests TestBasicSend";
			emailmessage.TextPart=new TextAttachment("This\r\nis the\r\ntext\r\npart.");
			emailmessage.HtmlPart=new HtmlAttachment("<html><body>This<br>\r\nis the<br>\r\n<strong>HTML</strong><br>\r\npart.</body></html>");
			emailmessage.EnvelopeFromAddress=new EmailAddress("test@bridgecanada.com");
			emailmessage.Send(_smtpserver);
			// this doesn't test anything yet
		}

		[Test]
		public void TestEmailWithDot() 
		{
			//SmtpServer smtpserver=TestAddressHelper.GetSmtpServer();

			EmailMessage emailmessage=new EmailMessage();

			emailmessage.FromAddress=TestAddressHelper.GetFromAddress();
			emailmessage.AddToAddress(TestAddressHelper.GetToAddress());
			emailmessage.Subject="EmailMessageTests Test Dot";
			emailmessage.TextPart=new TextAttachment("This\r\n.is the\r\n..text\r\n...part.");
			emailmessage.HtmlPart=new HtmlAttachment("<html><body>This<br>\r\n..is the<br>\r\n..<strong>HTML</strong><br>\r\npart.</body></html>");
			emailmessage.Send(_smtpserver);

			// this doesn't test anything yet
			//log.Debug("MESSAGE: "+emailmessage.ToDataString());

		}

	}
}
